package com.yanqu.road.entity.activity.apprentice.config;

import com.yanqu.road.entity.FieldTypeAnnotation;
import com.yanqu.road.utils.string.StringUtils;

import java.util.HashSet;
import java.util.Set;

@FieldTypeAnnotation(tableName = "t_s_activity_apprentice_project")
public class ApprenticeProjectConfig {

    @FieldTypeAnnotation(desc = "活动ID", select = true)
    private int activityId;

    @FieldTypeAnnotation(desc = "id", update = true)
    private int id;

    @FieldTypeAnnotation(desc = "分类")
    private int sort;

    @FieldTypeAnnotation(desc = "种类")
    private int type;

    @FieldTypeAnnotation(desc = "参数")
    private String param;

    @FieldTypeAnnotation(desc = "项目积分（天资）")
    private String score;

    @FieldTypeAnnotation(desc = "持续行程数")
    private int continueRound;

    @FieldTypeAnnotation(desc = "触发时机")
    private int triggerTime;

    @FieldTypeAnnotation(desc = "权重")
    private int weight;

    @FieldTypeAnnotation(desc = "冲突项目ID(运行期间)")
    private String conflictId;
    private Set<Integer> conflictIdSet = new HashSet<>();

    @FieldTypeAnnotation(desc = "冲突项目ID(随机项目期间)")
    private String rndConflictId;
    private Set<Integer> rndConflictIdSet = new HashSet<>();

    @FieldTypeAnnotation(desc = "推荐事件冲突id")
    private String suggestConflict;

    @FieldTypeAnnotation(desc = "名称")
    private String name;

    @FieldTypeAnnotation(desc = "描述")
    private String desc;

    @FieldTypeAnnotation(desc = "地点")
    private int place;

    @FieldTypeAnnotation(desc = "地点名称")
    private String placeName;

    @FieldTypeAnnotation(desc = "地点行为描述")
    private String placeDesc;

    @FieldTypeAnnotation(desc = "图标资源")
    private int icon;

    @FieldTypeAnnotation(desc = "动作spine")
    private String idleName;

    @FieldTypeAnnotation(desc = "是否需要阴影")
    private int isNeedShadow;

    @FieldTypeAnnotation(desc = "音效资源id")
    private int soundResourceId;

    public int getActivityId() {
        return activityId;
    }

    public void setActivityId(int activityId) {
        this.activityId = activityId;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getSort() {
        return sort;
    }

    public void setSort(int sort) {
        this.sort = sort;
    }

    public int getType() {
        return type;
    }

    public void setType(int type) {
        this.type = type;
    }

    public String getParam() {
        return param;
    }

    public void setParam(String param) {
        this.param = param;
    }

    public String getScore() {
        return score;
    }

    public void setScore(String score) {
        this.score = score;
    }

    public int getContinueRound() {
        return continueRound;
    }

    public void setContinueRound(int continueRound) {
        this.continueRound = continueRound;
    }

    public int getTriggerTime() {
        return triggerTime;
    }

    public void setTriggerTime(int triggerTime) {
        this.triggerTime = triggerTime;
    }

    public int getWeight() {
        return weight;
    }

    public void setWeight(int weight) {
        this.weight = weight;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getConflictId() {
        return conflictId;
    }

    public void setConflictId(String conflictId) {
        this.conflictId = conflictId;
        if (!StringUtils.isNullOrEmpty(conflictId)) {
            this.conflictIdSet = StringUtils.stringToSet(conflictId, "\\|");
        }
    }

    public Set<Integer> getConflictIdSet() {
        return conflictIdSet;
    }

    public String getRndConflictId() {
        return rndConflictId;
    }

    public void setRndConflictId(String rndConflictId) {
        this.rndConflictId = rndConflictId;
        if (!StringUtils.isNullOrEmpty(rndConflictId)) {
            this.rndConflictIdSet = StringUtils.stringToSet(rndConflictId, "\\|");
        }
    }

    public Set<Integer> getRndConflictIdSet() {
        return rndConflictIdSet;
    }

    public String getSuggestConflict() {
        return suggestConflict;
    }

    public void setSuggestConflict(String suggestConflict) {
        this.suggestConflict = suggestConflict;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    public int getPlace() {
        return place;
    }

    public void setPlace(int place) {
        this.place = place;
    }

    public String getPlaceName() {
        return placeName;
    }

    public void setPlaceName(String placeName) {
        this.placeName = placeName;
    }

    public String getPlaceDesc() {
        return placeDesc;
    }

    public void setPlaceDesc(String placeDesc) {
        this.placeDesc = placeDesc;
    }

    public int getIcon() {
        return icon;
    }

    public void setIcon(int icon) {
        this.icon = icon;
    }

    public String getIdleName() {
        return idleName;
    }

    public void setIdleName(String idleName) {
        this.idleName = idleName;
    }

    public int getIsNeedShadow() {
        return isNeedShadow;
    }

    public void setIsNeedShadow(int isNeedShadow) {
        this.isNeedShadow = isNeedShadow;
    }

    public int getSoundResourceId() {
        return soundResourceId;
    }

    public void setSoundResourceId(int soundResourceId) {
        this.soundResourceId = soundResourceId;
    }
}
